package com.xuxu.blog.vo;

import com.xuxu.blog.entity.PermissonEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.HashSet;
import java.util.List;

/**
 * @className: UserVo
 * @author: Maxuxu
 * @date: 2023/2/5 0:04
 * @description: 用户视图模型
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "用户")
public class UserVo {
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     */
    @ApiModelProperty(name = "id", value = "主键", required = true, dataType = "Integer")
    private Integer id;
    /**
     * 用户名
     */
    private String username;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 密码
     */
    private String password;
    /**
     * 性别
     */
    private String sex;
    /**
     * 年龄
     */
    private Integer age;
    /**
     * 个人介绍
     */
    private String introduce;
    /**
     * avatar
     */
    private String avatar;
    /**
     * 注册时间
     */
    private String regtime;
    /**
     * 昵称
     */
    private String nick;
    /**
     * 家庭住址
     */
    private String address;
    /**
     * 角色
     */
    private Integer role;
    /**
     * 角色
     */
    private String roleName;
    /**
     *
     */
    private String openid;
    /**
     * 积分
     */
    private Integer points;
    /**
     * 状态
     */
    private Integer status;

    /**
     * 验证码
     */
    private String code;
    /**
     * token信息
     */
    private String token;
    /**
     * 用户权限，通过sql连接查询到的权限，在数据库中并无此字段
     */
    private HashSet<PermissonEntity> permissions;
    /**
     * 用户角色，同样是通过多表连接查询后的结果。
     */
    private List<Integer> roles;
}
